KURZUS: Számítógépes folyamatirányítás

MODUL: A funkciók

5.2. lecke: Az analóg folyamatjelek mérése és előfeldolgozása 2.

| Cél: A lecke célja, hogy a tananyag felhasználója megismerje:
a digitális szűrés alkalmazási igényét a számítógépes folyamatirányításban; az első- a másod- és általában a k-adrendű szűrőalgoritmust; az átlagoló szűrést; a fizikai értékre való átszámítás fogalmát, módját és a hozzá kapcsolódó alkalmazási igényt.
Követelmények: Ön akkor sajátította el megfelelően a tananyagot, ha
el tudja mondani a digitális szűrés általános elvét és alkalmazási körét a folyamatirányításban; fel tudja írni és le tudja vezetni az elsőrendű exponenciális szűrőalgoritmus formuláját és ismertetni tudja használatát; fel tudja írni és le tudja vezetni a másodrendű szűrőalgoritmus formuláját és ismertetni tudja használatát; ismertetni tudja az általános k-adrendű, valamint az átlagoló szűrőalgoritmust; be tudja mutatni a fizikai értékre való átszámítás jelentőségét, ismertetni tudja az átszámítás elvét és líneáris leképezés-lác esetére le tudja vezetni az átszámítási formulát.
Időszükséglet: 2 óra
Kulcsfogalmak:
véletlen hiba, digitális szűrés, aluláteresztő szűrő, elsőrendű szűrő, másodrendű szűrő, k-adrendű szűrő, átlagoló szűrő, fizikai értékre való átszámítás, skálafaktor, nullponteltolás.
1. A digitális szűrés
A 2. modulban két helyen is volt már szó a szűrésről. Idézze fel, és részletesen gondolja át újra az ott tanultakat! Csak ezután haladjon tovább!
Míg a rendszeres mérési hibák korrekcióval, a véletlen, zajból eredő hibák szűréssel küszöbölhetők ki (vagy legalábbis csökkenthetők). A szűrésről általánosságban korábban már szóltunk, itt most a digitális (algoritmikus) szűrés néhány gyakran használt algoritmusát mutatjuk be.
Említettük már, hogy a folyamatirányításban a hasznos jelek szinte kivétel nélkül egyenfeszültségű, vagy igen kis frekvenciás (lassan változó) jelek. A szűrendő zavarok mindig nagyobb frekvenciájú spektrális tartományban jelennek meg, így aluláteresztő szűrőket kell alkalmazni. Aluláteresztő szűrőnek minden minimumfázisú arányos tag megfelel. (Ha nem tudja, mi a 'minimumfázisú arányos tag', felejtse el az előző mondatot és nyugodtan menjen tovább.) Ha egy ilyen tag differenciálegyenletét átírjuk a jelmintákra vonatkozó differenciaegyenletté, akkor olyan algoritmust kapunk, amely szűrőként viselkedik, vagyis kimeneti értéke a jel szűrt mintájának tekinthető.
A) Az elsőrendű, exponenciális szűrő
Ez az egytárolós arányos tag szűrőhatását valósítja meg. A folyamatos jelekre vonatkozó differenciálegyenlet:
T y ˙ (t)+y(t)=x(t) (1)
ahol x(t) a bemeneti (nyers, zajos), y(t) a kimeneti (szűrt) jel, T az időállandó, ponttal az idő szerinti differenciálást jelöltük. A frekvenciafüggvény un. törésponti körfrekvenciája (az a frekvencia, amelytől kezdve a szűrőhatás érvényesül) az időállandó reciproka. Feltételezzük, hogy a mintavételi időt (?) helyesen választottuk meg és így a mintákból számított differenciahányados jól közelíti a folyamatos jel időderiváltját. Az (1)-nek megfelelő differenciaegyenlet:
T y n − y n−1 τ + y n = x n (2)
ahol xn az aktuális szűretlen (nyers) minta, yn az aktuális szűrt minta, yn-1 a megelőző mintavételkor számított - a memóriában tárolt - szűrt minta. A differenciaegyenletből yn-et kifejezve kapjuk, hogy
y n = τ T+τ x n + T T+τ y n−1 (3)
Ez a képlet a szűrőalgoritmus. Eszerint tehát az aktuális szűrt értéket két komponens lineáris kombinációjaként (súlyozott összegeként) lehet előállítani: az aktuális nyers és a megelőző szűrt adatból. Az algoritmus rekurzív, így indításakor a még nem létező yn-1=y0 értéket önkényesen kell megadni. Szokás y0-nak x1-et előírni.
A (3) együtthatóiban szereplő ? mintavételi időt a zajspektrumra is kiterjesztett sávkorlát alapján kell meghatározni (lásd az előző leckét), míg a szűrő T időállandóját úgy kell megválasztani, hogy a megfelelő analóg szűrő frekvenciafüggvényének törésponti körfrekvenciája a zaj spektrális tartományának alsó határánál kisebb legyen, vagyis a zajspektrum már a frekvenciafüggvény csillapító szakaszára essen. Mindig igaz, hogy ?<T, sőt, általában ?<<T.
Nem helyes, de esetenként mégis mellőzik az előbbi megfontolásokat, és a szűrőalgoritmust
y n =α x n +(1−α) y n−1
formában írják fel, ahol az ? együttható tartalmi vonatkozásaitól eltekintenek, értékét pedig bizonyos feltevések alapján, vagy empirikusan határozzák meg. Nyilván 0<?<1. Ha ?=0 lenne, a szűrő nem venné figyelembe az aktuális nyers mintát, a kimenet megegyezne az előző értékkel és örökre állandó maradna. Ez a totális szűrést jelentené, amely egyáltalán nem vesz tudomást a bemeneti jelváltozásokról. Ha ?=1 lenne, akkor a szűrt érték megegyezne az aktuális nyers értékkel, tehát egyáltalán nem lenne szűrőhatás. A képlet alkalmazásakor általában így gondolkodnak: ha a jel viszonylag zajmentes, célszerű ? értékét nagyobbra, ha pedig erősen zajos, akkor kisebbre választani. A jel "zajosságának mértékét" megfigyelések alapján, becsléssel állapítják meg, noha a "zajosság mértéke" nem jól-definiált fogalom.
B) A másodrendű szűrő
A másodrendű szűrőalgoritmus a kéttárolós arányos tag differenciálegyenletéből származtatható. E tag frekvenciafüggvényének abszolút értéke a törésponti körfrekvencia fölött meredekebben csökken, így ebben a tartományban az elsőrendű szűrőénél erőteljesebb szűrőhatás érvényesül. A differenciálegyenlet:
T 2 y ¨ (t)+2 ζ T y ˙ (t)+y(t)=x(t) (4)
ahol T az időállandó és ? az un. csillapítási tényező (0<??1). Az időderiváltakat itt is differenciahányadosokkal közelítjük, a második derivált közelítő értéke két egymás utáni differenciahányados differenciahányadosa:
y ˙ (t)≈ y n − y n−1 τ
y ¨ (t)≈ y n − y n−1 τ − y n−1 − y n−2 τ τ = y n −2 y n−1 + y n−2 τ 2
E kifejezéseket (4)-be helyettesítve, némi rendezés után az aktuális szűrt értékre a következő formulát kapjuk:
y n = τ 2 T 2 +2 ζ T τ+ τ 2 x n + 2 T 2 +2 ζ T τ T 2 +2 ζ T τ+ τ 2 y n−1 − T 2 T 2 +2 ζ T τ+ τ 2 y n−2 (5)
Tessék, levezetni!
A jobboldalon szereplő együtthatók összege itt is 1-et ad (tessék ellenőrizni!). Az algoritmus rekurzív módon, az aktuális nyers és a két megelőző szűrt jelmintából számítja ki az aktuális szűrt értéket, vagyis itt két megelőző szűrt mintát kell tárolni.
Az algoritmus indításakor yn-1=y0, illetve yn-2=y-1 önkényesen írandó elő. A mintavételi idő és a T időállandó megválasztására vonatkozólag az elsőrendű szűrővel kapcsolatban mondottak érvényesek. A ζ csillapítási tényezővel a rezonancia-frekvencia körüli kiemelés mértéke változtatható.
Általában a k-adrendű digitális szűrő a szűrt értéket a pillanatnyi nyers érték (xn) és k-darab megelőző szűrt minta lineáris kombinációjaként állítja elő:
y n = α 0 x n + ∑ i=1 k α i y n−i (6)
ahol
α 0 + ∑ i=1 k α i =1
Az α i együtthatók konkrét kifejezései esetenként határozandók meg.
(Egy kis érdekesség: A hajdan volt KGST belső árait minden évben az aktuális világpiaci ár és a megelőző öt év belső árainak felhasználásával állapították meg. Ez az árképzési mechanizmus egy ötödrendű digitális szűrőként működött, ahol xn a mindenkori világpiaci ár volt, yn-i (i=1...5) pedig a megelőző öt év belső árai. A szűrőkonstansok nem ismeretesek. )
C) A logikai adaptív szűrő (kiegészítő anyag)
Az elsőrendű exponenciális szűrőalgoritmus (3) kis átalakítással átírható az alábbi alakba:
y n = y n−1 +K D n (7)
ahol
K= τ T+τ
És
D n = x n − y n−1
Ez utóbbi mennyiség az un. gradiens, a pillanatnyi nyers érték és a megelőző szűrt érték különbsége, tehát a pillanatnyi zaj becsült értéke.
Az adaptív szűrő működése során folyamatosan kiszámítanak N-darab gradienst (a pillanatnyi és N-1 megelőző értéket és képezik ezek aktuális átlagát és szórását:
D ¯ n = 1 N ∑ i=n n−(N−1) D i
illetve
σ n = 1 N ∑ i=n n−(N−1) ( D i − D ¯ n ) 2 .
Ha a bemeneti jelen (xn) nincs kiugró változás, azaz
| D n − D ¯ n−1 |<3 σ n−1 ,
vagyis az aktuális zaj ( D n ) a korábbi zajátlagnak ( D ¯ n−1 ) megfelelő, akkor az yn kimenetet a (7) formula szerint számítják.
Ha a bemeneti jel hirtelen megnő (vagy lecsökken), vagyis
| D n − D ¯ n−1 |≥3 σ n−1 (8)
akkor ezt a kiugró értéket (amely nagy amplitúdójú zajra utal) nem veszik figyelembe és aktuális szűrt értéknek a megelőzőt tekintik:
yn=yn-1
Ha a nagy eltérés (a (8) egyenlőtlenség) meghatározott számú mintavételi perióduson át tartósan fennáll, akkor a kiugró érték már valószínűleg nem zajra, hanem a jel tartós megváltozására (pl. munkapontváltás) utal. Ekkor xn-et tekintik szűrt értéknek és az algoritmus ezzel az értékkel számol tovább.
Az elnevezés onnan származik, hogy a szűrő alkalmazkodik az átlagos zajokhoz, vagyis ilyenekkel szemben közönséges elsőrendű szűrőhatást fejt ki, viszont a kiugró zavarokat különlegesen kezeli. A 'logikai' jelző pedig arra utal, hogy működés közben logikai döntéseket kell hozni (a (8) reláción alapuló feltételes elágazás, valamint a kiugró érték tartósságának vizsgálata).
D) Az átlagoló szűrő
Az átlagoló szűrő kimenete az aktuális és a megelőző N-1 darab nyers minta számtani középértéke:
y n = 1 N ∑ i=0 N−1 x n−i , N≥2
A működés azt az elgondolást tükrözi, hogy a lassú jelre szuperponálódó nagyobb frekvenciájú, véletlenszerű zavarkomponensek az egyes mintavételi időpontokban valószínűleg különböző előjelűek, így átlagoláskor várhatóan - legalábbis részben - megsemmisítik egymást.
2. Átszámítás fizikai értékre
Fogalmazza meg a fizikai értékre való átszámítás jelentőségét, ismertetni tudja az átszámítás elvét és lineáris leképezés- lánc esetére vezesse le az átszámítási formulát.
A számítógép a jelfeldolgozási műveletek során kiválóan elboldogul a folyamatváltozók fizikai tartalomtól megfosztott, binárisan kódolt, dimenziótlan értékeivel, ha viszont az adatokat a kezelő számára meg kell jeleníteni, akkor megfelelő mértékegységben kifejezett decimális értékké kell alakítani őket (vagyis vissza kell állítani az adat fizikai jelentését). Ez az átalakítási művelet a fizikai értékre való átszámítás.
Tegyük fel, hogy a mért fizikai érték - útban a számítógép felé - mindvégig lineáris karakterisztikájú jelátalakítókon halad át, vagyis, hogy a jel fizikai skálája lineárisan képeződik le az A/D kimeneti számtartományára, a digitális skálára (1. ábra).
A fizikai és a digitális skála megfeleltetése
1. ábra
Az ábrán SF a fizikai skála, Ff annak felső, Fa pedig alsó végpontja (a mennyiség üzemszerű értékeinek felső és alsó határa); SD a digitális skála, Df és Da annak felső és alsó határa (az A/D által előállítható legnagyobb és legkisebb szám). Az Ff-nek Df, az Fa-nak Da feleltethető meg. A két skála közti lineáris leképezés azt jelenti, hogy valamely közbülső F és D értékre igaz, hogy
F− F a F f − F a = D− D a D f − D a
Ebből az aktuális fizikai érték (F) az A/D kimenetén megjelenő D számból kiszámítható:
F= F f − F a D f − D a (D− D a )+ F a (9)
Az (Ff-Fa)/(Df-Da) együtthatót skálafaktornak, az Fa tagot nullponteltolásnak nevezik. E két érték analóg csatornánként külön-külön előre meghatározható, a memóriában konstansként tárolható, így a számítógép a képlet alapján minden csatornára kiszámíthatja a jel fizikai értékét.
Nézzünk egy egyszerű példát. Légköri nyomáson lévő tartályban vizet melegítenek. A víz hőmérséklete 10°C és 100°C között változhat. A hőmérsékletet platina ellenálláshőmérő érzékeli és alakítja át ellenállás-értékké úgy, hogy 10°C-hoz 104 ohm, 100°C-hoz 140 ohm tartozik. Az ellenállást mérőhídban mérik, a híd kimenete egy áramtávadóhoz csatlakozik, amely a 104...140 ohm ellenállástartományt 4...20 mA áramtartományra képezi le. A távadó árama megérkezik egy analóg bemeneti periféria egyik csatornájára. A csatorna jelformáló áramköre (áram-feszültség átalakító és szinteltoló) a 4...20 mA áramtartományból 0...5 V feszültségtartományt hoz létre, mert az A/D ezt igényli. Az A/D egypolaritású és 8-bites, tehát a 0...5 V feszültség-intervallumot a 0...255 számtartományra képezi le. Kérdés: mekkora a víz hőmérséklete, ha az A/D kimenetén az 10011001 bináris szám jelenik meg? (Mondjuk, nincs zaj és így nincs szükség a digitális érték szűrésére.) Ha minden közbülső átalakítási lépés lineáris volt, amit jogosan feltételezünk, mert gyakrabban igaz, mint nem, akkor ezeket nem kell végigkövetni, mert ilyenkor az SF és az SD skála között közvetlenül is lineáris a kapcsolat, tehát használhatjuk az (9) képletet:
Ff=100°C, Fa=10°C, Df=255, Da=0, D=10011001=153
F= 100−10 255−0 (153−0)+10=64 °C
A fizikai értékre való átszámítás természetesen akkor is lehetséges, ha a fizikai és a digitális skála közötti kapcsolat (valamilyen közbülső jelátalakító nemlinearitása következtében nem lineáris, de akkor (9) helyett egy - a nemlinearitás konkrét formáját megadó - bonyolultabb formula használandó.
Lépjen ki a tananyagból! Gondolja át a lecke tartalmát, rekonstruálja a szerkezetét! Vegyen elő egy lapot és írja le a lecke vázlatát! Ne sajnálja az erre fordított időt! Ha gondosan megcsinálja, már majdnem tudja is az anyagot.

| Önellenőrző kérdések
1. Mondja el a digitális szűrés elvét és alkalmazási körét a számítógépes folyamatirányításban!
2. Az (1) differenciálegyenlet differenciaegyenletté való átírásával vezesse le az elsőrendű exponenciális szűrőalgoritmus rekurzív formuláját.
3. Tekintsük a következő konkrét elsőrendű szűrőalgoritmust: y n =α x n +(1−α) y n−1 , ahol α=0.1. Vezesse át ezen a szűrőn az 1, 2, 1, 1 nyers mintasorozatot. Mi lesz a kimeneti (szűrt) mintasorozat?
| 1, 2, 1, 1
| 1, 1.9, 1.81, 1.76
| 1, 1.1, 1.09, 1.081
| 1, 1.2, 1.19, 1.171
4. 0,...,1 Hz spektrumtartományú hasznos jelre szuperponálódó 10,...,20 Hz közötti zajt akarunk elsőrendű exponenciális szűrővel szűrni. A szűrőkonstansokat ? és T megfelelő értékeiből akarjuk meghatározni. Az alábbiak közül melyik a helyes választás?
| τ =50 msec T=0.5 sec
| τ =20 msec T=2 sec
| τ =20 msec T=0.5 sec
| τ =50 msec T=2 sec
5. A (4) differenciálegyenlet differenciaegyenletté való átírásával vezesse le a másodrendű szűrőalgoritmus rekurzív formuláját!
6. Mondja el az általános k-adrendű, valamint az átlagoló szűrőalgoritmus formuláját!
7. Mondja el a fizikai értékre való átszámítás elvét és kövesse végig részleteiben a lecke idevonatkozó példáját!